/**
 * 需求：get类型的接口 通过/getHero接口 获取英雄列表
 * 整体实现思路：
 *  1、创建服务器
 *  2、实现功能 
 *      2-1、获取用户请求接口路径，通过req.url获取到，如果路径为/getHero说明用户调用接口路径正确了
 *      2-2、获取到用户请求方式(通过req.method获取到)，判断是否为get请求，如果是说明用户调用接口正确了
 *      2-3、从英雄列表中获取数据，并返回数据给浏览器，如果获取不到则返回提示信息
 */ 
const http = require('http')
const fs = require('fs')

let app = http.createServer(function(req,res){
    // 当用户访问http://127.0.0.1:3000/getHero的时候会触发此函数
    // 1、获取用户请求接口路径，通过req.url获取到，如果路径为/getHero说明用户调用接口路径正确了
    // 2、获取到用户请求方式(通过req.method获取到)，判断是否为get请求，
    // 如果是说明用户调用接口正确了
    // 3、从英雄列表中获取数据，并返回数据给浏览器
    let url = req.url
    let method = req.method
    res.setHeader("content-type","text/html;charset=utf8")
    // 解决前端请求跨域问题Access-Control-Allow-Origin
    // * 表示任意的url地址，都可以向我们的接口发起请求，并成功。
    res.setHeader('Access-Control-Allow-Origin',"*")
    if(url==="/getHero"&&method==="GET"){
        fs.readFile('./db/data.json',function(err,data){
            if(err){
                console.log('获取数据失败：',err);
                return res.end("获取数据失败")
            }
            res.setHeader('content-type', 'application/json;charset=utf8')
            res.end(data)
        })
    }else{
        res.statusCode = 404
        res.end("找不到你要的接口")
    }
})

app.listen(3000,()=>{
    console.log("服务器启动成功：http://127.0.0.1:3000");
})